Selectors are passive two terminal devices that may control the electrical properties such as the conductivity of electronic devices containing said selectors. Selectors may be combined with memristors to form crossbar arrays of memory devices. Memristors are passive two terminal devices that can be programmed to different resistive states by applying a programming energy, such as a voltage. Large crossbar arrays of memory devices can be used in a variety of applications, including random access memory, non-volatile solid state memory, programmable logic, signal processing control systems, pattern recognition, and other applications.